草庐IT

走例程:Making concurrent API requests

全部标签

均值滤波算法及例程

均值滤波算法是一种简单的图像滤波方法,它使用一个固定大小的滤波器来平滑图像。该滤波器由一个矩形的窗口组成,窗口中的像素值取平均值作为中心像素的新值。以下是均值滤波算法的步骤:定义滤波器的大小(窗口大小),通常是一个正方形或矩形。遍历图像中的每个像素。对于每个像素,获取其周围邻域内所有像素的值。计算邻域像素值的平均值。将平均值赋给当前像素。重复步骤2-5,直到遍历完整个图像。这样可以在一定程度上平滑图像并减少噪声的影响。然而,均值滤波器会模糊图像边缘和细节信息,因此在某些情况下可能不适用。在实际应用中,我们可以根据需求选择合适的滤波器大小,较小的滤波器尺寸可以更好地保留图像细节,但对噪声的抑制效

【OpenCV 例程 300篇】246. 特征检测之ORB算法

『youcans的OpenCV例程300篇-总目录』【youcans的OpenCV例程300篇】246.特征检测之ORB算法特征检测与匹配是计算机视觉的基本任务,包括检测、描述和匹配三个相互关联的步骤。广泛应用于目标检测、图像检索、视频跟踪和三维重建等诸多领域。6.9.1ORB算法简介ORB(OrientedFASTandrotatedBRIEF)是OpenCV实验室开发的一种特征检测与特征描述算法,将FAST特征检测与BRIEF特征描述结合并进行了改进,具有尺度不变性和旋转不变性,对噪声有较强的抗干扰能力。ORB算法在图像金字塔中使用FAST算法检测关键点,通过一阶矩计算关键点的方向,使用方

VS 2019 MFC Socket 通讯例程客户端Connect连接一对多同步通信TCP/IP通信客户端[二]

 技术要点:SOCKETsocket(intaf,inttype,intprotocol);intconnect(SOCKETs,conststructsockaddrFAR*name,intnamelen);BOOLAfxSocketInit(WSADATA*lpwsaData=NULL);VisualC++ if(!AfxSocketInit()){AfxMessageBox(_T("FailedtoInitializeSockets"),MB_OK|MB_ICONSTOP);returnFALSE;}注意事项:         Socket通信客户端的初始化可以分为两种方法,一种是通过上

C语言例程:求解二维数组的最大/最小元素

目录求解二维数组的最大/最小元素实例说明实例解析程序代码程序运行截图归纳注释求解二维数组的最大/最小元素实例说明在n行n列的二维整数数组中,按以下要求选出两个数。首先从每行选出最大数,再从选出的n个大数中选出最小数;其次,从每行选出最小数,再从选出的n个小数中选出最大数。实例解析设二维数组为a[][],首先在n行n列二维整数数组中,从每行选出最大数,再从选出的n个大数中选出最小数,可以用以下算法实现:[算法1]在二维整数数组中,从每行选出最大数,再从选出的大数中选出最小数{/*设最小元变量用min标记,各行的最大元变量用max标记*/for(min=a[0][0],row=0;rown;row

使用标准库和HAL库的STM32单片机进行串口通信/解决因例程为HAL库的传感器,而其他模块都是标准库,需要将数据用串口传送给标准库的单片机的相关问题

(本文使用STM32F103C8T6,在CubeMX里演示用的是RBT6,但实际上引脚是一样的)        本文着重解决一个大工程中,某些传感器的例程是HAL库的,而其他模块(或算法)都是标准库,导致难以移植的问题。本文的解决方法是:使用一片单片机用HAL库(CubeMX)配置例程,然后用串口将传感器数据传给标准库进行处理。        首先,配置CubeMX,这是我一个项目的某个模块配置的工程,其中,本文使用光学传感器进行演示(什么传感器不重要),通信协议为IIC,串口使用UART2。        传感器的接法:将SDA,SCL,VCC,GND依次接好即可,上图有INT/SDA/SC

Sobel算子详解及例程

Sobel算子是一种经典的边缘检测算子,被广泛应用于图像处理领域。它基于图像亮度的变化率来检测边缘的位置,主要通过计算图像中像素点的梯度来实现。Sobel算子分为水平和垂直两个方向的算子,记作Gx和Gy。它们分别对图像进行水平和垂直方向的卷积运算,得到对应方向上的梯度值。具体而言,Sobel算子使用一个3x3的卷积核对图像进行卷积操作,如下所示:Gx=|-101||-202||-101|Gy=|-1-2-1||000||121|卷积操作后,可以通过以下公式计算图像的梯度幅值和方向:梯度幅值G=sqrt(Gx^2+Gy^2)梯度方向θ=arctan(Gy/Gx)其中,G表示梯度幅值,θ表示梯度方

Opencv 之ORB特征提取与匹配API简介及使用例程

Opencv之ORB特征提取与匹配API简介及使用例程ORB因其速度较快常被用于视觉SLAM中的位姿估计、视觉里程、图像处理中的特征提取与匹配及图像拼接等领域本文将详细给出使用例程及实现效果展示1.API简介创建staticPtr<ORB>cv::ORB::create ( intnfeatures=500,//nfeatures最终输出最大特征点数目 floatscaleFactor=1.2f,//scaleFactor金字塔上采样比率 intnlevels=8,//nlevels金字塔层数 intedgeThreshold=31,//edgeThreshold边缘阈值 intf

STM32F4X SDIO(九) 例程讲解-SD卡擦除、读写

STM32F4XSDIO(九)例程讲解-SD卡擦除、读写例程讲解-SD卡擦除、读写SD卡擦除CMD32:ERASE_WR_BLK_START命令发送命令响应CMD33:ERASE_WR_BLK_END命令发送命令响应CMD38:ERASE命令响应CMD13:SD_CMD_SEND_STATUS命令发送命令回应SD卡读数据CMD16:SET_BLOCKLEN命令发送命令响应设置SDIO控制传输数据类型CMD18:READ_MULTIPLE_BLOCK命令发送命令响应DMA配置DMA接收配置CMD12:STOP_TRANSMISSION命令发送命令响应等待SD卡读取完毕命令发送命令响应数据读取波形

【GD32】从0开始学GD32单片机(10)—— TIMER基本定时器详解+1毫秒延时例程

目录概述简介时钟设置计数模式例程概述在GD32中定时器是非常重要的外设,它可以帮我们精准的控制程序的调度,就如之前讲过的SysTick就是一个定时器,我们可以通过设置这个定时器的寄存器实现延时函数。GD32的定时器可大致分为3种——基本定时器、通用定时器、高级定时器。它们之间的区别如下图所示:这一节先介绍当中最简单的基本定时器。简介GD32中的定时器外设都是使用16位计时器;计数模式只有向上计数;支持单脉冲模式;支持DMA传输请求;在内部有触发线连接至DAC,这样可以使用定时器定时触发DAC的数据转换,这个在后面会讲到。时钟设置要想定时器按预期工作,那么对时钟进行正确的设置是十分重要的。先找到

Laplacian算子详解及例程

Laplacian算子是一种常用的边缘检测算法,它是通过对图像进行二阶微分来检测图像的边缘。Laplacian算子的优点是能够对不同方向的边缘进行检测,对于边缘的粗细和强度变化也比较敏感。Laplacian算子的计算公式为:∇²f=∂²f/∂x²+∂²f/∂y²其中,∇²f代表图像的二阶导数,∂²f/∂x²和∂²f/∂y²分别代表图像在水平和垂直方向上的二阶导数。Laplacian算子的步骤如下:对输入图像应用高斯滤波器,以减少噪声。计算图像的拉普拉斯变换,得到二阶导数图像。对二阶导数图像进行阈值处理,以检测边缘。下面是一个使用OpenCV库实现Laplacian算子的简单例程:importc